어중간한 오픈소스 프로젝트 개발자의 현실
오늘은 RAG에 대한 이야기는 아니다. 그저, AutoRAG팀이 일하면서 느낀 점들을 공유하고자 한다.
인생의 모든 것이 그렇듯, 오픈소스 프로젝트 개발 역시 희노애락이 존재한다. 처음 스타 1k를 달성한 때 같은 경우, 아주 기쁘고 엄청난 일을 해낼 것 같은 자신감이 무럭무럭 생긴다.
그러다가도, ‘이걸 왜 하고 있지?’ 같은 소위 현자 타임이 오기도 한다.
이 글에서, 여러분이 직접 스타 0개부터 오픈소스 프로젝트를 풀타임으로 개발하게 되면 겪게 되는 일들을 살펴보자.
본격적인 글을 들어가기 전에…
먼저, 왜 어중간한 오픈소스 프로젝트인가?
왜냐하면 필자가 개발하고 있는 오픈소스가 어중간하기 때문이다.
깃허브 스타를 1,300개 이상을 받고 있는데 적다고 보기는 어렵다.
실제로 사람들이 사용도 한다! (Wow)
그렇다고 10k 이상을 받거나, 수많은 PR들이 몰려드는 유명한 프로젝트에 절대 비할 바가 안된다.
최근 들어서는 스타 상승세도 둔화되고 있다. (흑흑흑 😭)
그래서 아주 적은, 아무도 관심이 없는 오픈소스 프로젝트도 아니고, 모두가 관심을 가져주는 오픈소스 프로젝트도 아닌 어중간한 프로젝트이다.
(적어도 AutoRAG가 이 상태는 아니다)
그러면 이러한 어중간한 오픈소스 프로젝트 개발자들은 어떤 생각을 할까?
1. 문서화, 문서화, 또 또 또 문서화!!!
문서화. 오픈소스 프로젝트, 아니 거의 모든 개발자의 숙명과 같은 작업이 아닐까? 특히 오픈소스의 특성상 불특정 다수가 우리의 코드를 사용해야 하고, 그래서 문서화는 더욱 꼼꼼하고 친절해야 한다.
이 글을 읽는 분들이라면 어떤 라이브러리의 공식 문서를 보면서 ‘왜 이렇게 어렵게 써둔거야?’ 혹은 ‘왜 이런 것이 설명이 안 되어 있지?’라고 생각해 본 적이 있을 것이다.
하지만 리액트나 판다스처럼 인기 많은 프로젝트가 아니고서야 작동 방식을 쉽고 친절하게 알려주는 여러 블로그 글들을 찾는 것은 힘들다.
AutoRAG 같은 어중간한 오픈소스 프로젝트는 특히 그렇다. 애초에 그렇게 유명하지 않으니깐, 우리가 직접 쓰는 문서가 AutoRAG 사용 설명서의 전부이다. 구글에 검색하면 우리 문서밖에 안나온다는 뜻이다!
그래서 AutoRAG 팀은 그래도 나름 문서화를 열심히 하고 있다. [문서 구경하기|문서 구경하기]
훌륭하지는 않지만, 핵심은 설명하기 위해 노력했다.
그런데, 문제는 문서화라는 작업은 솔직히 재미가 없다. 진짜로. 진짜 재미가 없다.
거기다가 이 문서화라는 녀석… 적당히를 모른다. 무조건 다다익선이다. 문서를 더 자세히, 더 알기 쉽게, 더 다양한 언어로 적을 수록 좋은 것이다.
게다가 하나의 기능을 추가하면 자연스레 그에 대한 문서화를 또 해주어야 한다.
그리하여 모든 기능의 마무리는 문서 추가 혹은 문서 수정인데, 정말 귀찮다.
하지만 우리는 문서화가 중요하다는 것을 안다.
문서화를 하지 않으면, 정말 그 아무도 그 기능에 대해 모를 것이니깐…
더군다나 문서화는 블로그를 쓰는 것과 달리 눈에 잘 보이지 않는다.
좋아요도, 링크드인 따봉도 없다.
그나마… 팀원의 LGTM 정도? 눈에 잘 보이지 않는데 계속 신경 써서 관리해줘야 한다.
버전이 업그레이드 되면서 기능이 바뀌면? 기존 문서화 중에 바뀌어야 하는 곳들을 이잡듯이 뒤져야 한다. 쓰기도 귀찮은 녀석이 유지보수까지 해야 하는….
두서 없이 썼지만 결론은, 문서화는 참 귀찮다. 그래서 문서화 좋다고 칭찬해주신다면 우리 팀원들이 아주 기뻐할 것입니다 ㅎㅎㅎㅎ
2. 우리가 만든 것을 누가 쓰고 있는 것인가?
만약 당신이 웹페이지를 만들었다고 해보자. 누군가가 웹페이지에 방문을 했다면, Google 애널리틱스 같은 툴을 이용해 쉽게 얼마나 많은 사람들이 방문을 했는지, 어느 페이지에 머물렀는지 알 수 있다. 언제 어디서 얼마나 오래 사용했는지가 눈에 보이는 것이다.
그런데 AutoRAG 같은 오픈소스 프로젝트는? 누군가가 쓰는 모습이 잘 보이지 않는다. 누가 다운로드 했다고 표시되지 않는다.
pypi stat과 같은 곳에 다운로드 수가 표시되기는 하는데, 이걸 얼마나 어떻게 믿어야 할지 모르겠다.
깃허브 스타가 올라가면 기분은 좋지만, 스타가 곧 AutoRAG를 사용하는 지표는 아니다.
물론! 아무도 AutoRAG를 쓰고 있지 않다는 것은 아니다. 너무 고맙게도 디스코드 채널에 방문해서 질문을 남겨 주시는 분들이 꽤 있다. 그리고 잘 쓰고 있다고 말씀해 주시는 분들이 간혹가다 계신다. 그런 것들을 볼때마다 뿌듯한 감정이 든다.
하지만 가끔은 바닷물을 손으로 잡는 것 같은 심정이다. 분명히 물이 조금 담기기는 하는데, 손가락으로 대부분이 빠져나가 버리는… 더 많은 사람들이 쓰고 있지 않을까 라는 상상은 하지만 우리 눈에는 보이지 않는다. 그런 감정은 왠지 모를 아쉬움을 만든다.
3. 또 이 질문..?!?!
너무 솔직할수도 있지만, 용기내어 말해본다.
정말 가끔은… 디스코드에 올라오는 질문이 귀찮을 때가 있다.
물론 진심은 AutoRAG에 관심 가져주셔서, 열심히 사용하려 해주셔서, 그리고 디스코드까지 와서 질문을 남겨주셔서 너무 감사하다.
또한, 질문이 있다는 것은 우리의 허접한 문서화 때문도 있을 터…
그런데 정말 가끔… FAQ 문서에도 적어 놓았던 질문. 체감상 20번째 받는 것 같은 질문들이 올라오고는 한다.
그게 그분들 잘못은 아니지만, 조금 힘이 빠지는 것은 어쩔 수 없는 사람의 감정이다.
마치 내 이름을 20번째 다시 말해주는 기분이랄까?
혹시 답변이 조금 늦어진다면, 이런 바보같은 감정에 사로잡혀서 일수 있으니 조금만 이해해 주십쇼.
4. 돈이 안된다.
그렇다. 오픈소스로는 돈을 못 번다!!!
왜냐? 그것이 오픈소스니깐 (끄덕 끄덕)
아무도 리액트 사용비를 내지 않는다. 여러분이 개발할때 사용하는 패키지 대부분은 오픈소스고, 그래서 대부분 무료다.
그니깐, 오픈소스 소프트웨어는 직접적으로 돈이 안 된다.
누가 얼마나 다운로드 하던, 깃허브에 스타가 몇 개가 생기던 우리 주머니에는 1원 하나 안 생긴다.
물론 우리가 SW를 판매해서 돈벌려고 오픈소스를 선택한 것이 아니다. 그러니 바로 돈이 안 되는 것은 당연한 일이다.
그럼에도 불구하고, 사람의 감정이라는 것은 참 간사해서, 누군가가 우리가 만든 것을 활용하고 있다는 소리를 듣고 나면, 왠지 모를 보상 심리라는 것이 생겨난다.
꼭 돈이 아니더라도, 국밥 한그릇, 치킨 한 마리라도 사주면 좋겠다라는 간사한 마음이 생기고는 한다.
그래서 우리 팀의 요즘 가장 큰 고민은 BM 찾기이다. 다시 말해 AutoRAG의 사업화를 생각해보는 단계이다.
랭체인이나 라마인덱스와 같은 오픈소스 소프트웨어를 만든 분들도 비슷한 고민을 엄청 하고 있을 것이 분명하다.
그래서 당신이 오픈소스 프로젝트를 진지하게 만든다고 한다면… 사업화에 대한 고민을 하게 될 가능성이 높다. (혹은 투자라던가…)
그리고, 돈을 못 번다는 것에 대하여, 우리 팀이 진짜 한 푼도 못 번 것은 아니다.
너무나 감사하게도, 두 분이 AutoRAG 프로젝트에 후원을 해 주셨다.
직접 뵙지도 못했지만, 이 자리를 빌려서 너무 큰 힘이 되었다고 전해드리고 싶다.
감사합니다!!!!
근데 오픈소스 왜 하나요?
자, 우리는 이렇게 아픔도 많고 힘든 오픈소스를 왜 하고 있는 것일까? 그것도 6개월 넘게 한 프로젝트에 매달려서 개발하고 있으니깐 말이다.
일단, 오픈소스가 아니었다면 어중간한 위치까지 오지도 못했을 것이다.
AutoRAG는 RAG 개발자나 연구진들을 위한 소프트웨어이다. 일반인들을 대상으로 하지 않는다.
개발자들은 오픈소스를 좋아한다. 당연하지! 일단 공짜고, 소스 코드도 공개 되어 있으니깐. 나도 오픈소스를 좋아한다.
만약 AutoRAG가 오픈소스가 아니었다면, 홍보도 잘 안되었을 것이다. 또, 훨씬 높은 수준의 소프트웨어를 요구했을 텐데, AutoRAG는 아직도 부족한 점이 참 많다.
그리고 처음 시작할 때 “일단 알려보자” 전략을 선택한 것도 있다. 너드 개발자들이 가장 빠르고 쉽게 할 수 있는 방법이 깃허브에 일단 올리고 홍보해보기 였다.
그리고 놀랍게도 외부 기여가 들어온다. 벌써 AutoRAG 깃허브 레포에 거의 10명의 기여자들이 계신다. 진짜… 감사하다!!!
어… 그래서 AutoRAG 많관부!
세상의 모든 오픈소스 개발자 화이팅~~